package com.first.computerstore.dao;

import com.first.computerstore.entity.Order;
import com.first.computerstore.entity.OrderItem;
import com.first.computerstore.query.OrderQuery;
import com.first.computerstore.vo.OrderVo;

import java.util.List;

/**
 * 订单模块的mapper层
 */
public interface OrderMapper {

    /**
     * 根据uid和订单状态查询订单列表
     * @param query
     * @return
     */
    public List<OrderVo> queryOrdersByUidAndStatus(OrderQuery query);

    /**
     * 更新订单状态为已收货
     * @param order
     * @return
     */
    public Integer updateOrderStatusByOid(Order order);

    /**
     * 根据订单号查询订单对象
     * @param oid
     * @return
     */
    public  Order  queryOrderByOid(Integer oid);

    /**
     * 查询订单详情，包括订单信息、商品信息、物流信息
     * @param oid
     * @return
     */
    List<OrderVo> queryOrderVo(Integer oid);

    /**
     * 插入一条订单数据
     * @param order
     * @return
     */
    Integer insertOneOrder(Order order);

    /**
     * 插入orderItem数据
     * @param orderItem
     * @return
     */
    Integer insertOneOrderItem(OrderItem orderItem);




}
